<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
</body>
</html>

<script>
// 迭代函数 是 数组实例方法 中的「一类函数」
/* 迭代函数的特性：
  arr.forEach(fn)
  1. 迭代函数的 实参 是函数
  2. 传入的实参 fn，会根据 数组 有几个 元素，就执行 几次 fn
  3. fn的第一参数：每次执行 fn ，fn 的第一个 形参，可以拿到 数组上对应位置 的 item
  4. fn的第二和第三个参数：
    第二个参数 指的是  对应 item 所在的 下标 - index
    第三个参数 指的是  数组 这个变量本身
*/

// forEach 的作用：用 回调函数，依次遍历 数组 的每个 元素
  // eg1： 依次输出 数组上的每个人名
    // var arr = ['张三', '李四', '王五', 'z', 'b']; 
  // eg2：打骚扰电话：
    var numberBooks = ['13113113111', '...']
    var callNumber = function(phoneNumber) {
      // code in here... 
      // 打电话给 phoneNumber
    }
    numberBooks.forEach(callNumber)

// 注：forEach 没有返回值；不改变变量本身的值


// 用 匿名函数 改写 上面的 forEach 实例方法
var result = arr.forEach(function (name, index, array) {
  console.log('匿名函数', name);
});

// console.log('result', result, arr);
</script>